
const _import = require('../router/_import_' + process.env.NODE_ENV) // 获取组件的方法

export function generateRoutes(menuRoutes, menuList) {
    for(var i=0;i<menuList.length;i++){
        var menu = {
            id: menuList[i].id,
            path: menuList[i].path,
            name: menuList[i].name,
            show: menuList[i].show,
            // component: () => import(menuList[i].component),
            children: []
        }
        if (menuList[i].component != ""){
            menu.component = _import(menuList[i].component)
        }
        menuRoutes.push(menu)

        generateRoutes(menu.children, menuList[i].menuList)
    }

    return menuRoutes
}

// // menuList = [
// //     {
// //         "id": "1f9f140a-5edc-11ec-b27a-1c697ac9cfe3",
// //         "name": "用户管理",
// //         "remarks": "用户管理菜单",
// //         "icon": "setting",
// //         "createdAt": "2021-12-17T09:53:25",
// //         "parentId": null,
// //         "path": "/menu/user/manage",
// //         "show": true,
// //         "component": "../views/user/Manage",
// //         "updatedAt": "2021-12-17T09:53:25",
// //         "menuList": [
// //             {
// //                 "id": "0c8e4259-5edd-11ec-b27a-1c697ac9cfe3",
// //                 "name": "用户列表",
// //                 "remarks": "用户列表菜单",
// //                 "icon": "setting",
// //                 "createdAt": "2021-12-17T10:00:03",
// //                 "parentId": "1f9f140a-5edc-11ec-b27a-1c697ac9cfe3",
// //                 "path": "/menu/user/list",
// //                 "show": true,
// //                 "component": "../views/user/List",
// //                 "updatedAt": "2021-12-17T10:00:03",
// //                 "menuList": [
// //                     {
// //                         "id": "25172f16-5edf-11ec-b27a-1c697ac9cfe3",
// //                         "name": "用户1",
// //                         "remarks": "用户1",
// //                         "icon": "setting",
// //                         "createdAt": "2021-12-17T10:15:03",
// //                         "parentId": "0c8e4259-5edd-11ec-b27a-1c697ac9cfe3",
// //                         "path": "/menu/good/brand",
// //                         "show": true,
// //                         "component": "../views/good/Brand",
// //                         "updatedAt": "2021-12-17T10:15:03",
// //                         "menuList": [
// //                             {
// //                                 "id": "4f6b6e8b-5edf-11ec-b27a-1c697ac9cfe3",
// //                                 "name": "用户1-1",
// //                                 "remarks": "用户1-1",
// //                                 "icon": "setting",
// //                                 "createdAt": "2021-12-17T10:16:14",
// //                                 "parentId": "25172f16-5edf-11ec-b27a-1c697ac9cfe3",
// //                                 "path": "/menu/good/brand",
// //                                 "show": true,
// //                                 "component": "../views/good/Brand",
// //                                 "updatedAt": "2021-12-17T10:16:14",
// //                                 "menuList": [
// //                                     {
// //                                         "id": "6c0636de-5edf-11ec-b27a-1c697ac9cfe3",
// //                                         "name": "用户1-1-1",
// //                                         "remarks": "用户1-1-1",
// //                                         "icon": "setting",
// //                                         "createdAt": "2021-12-17T10:17:02",
// //                                         "parentId": "4f6b6e8b-5edf-11ec-b27a-1c697ac9cfe3",
// //                                         "path": "/menu/good/brand",
// //                                         "show": true,
// //                                         "component": "../views/good/Brand",
// //                                         "updatedAt": "2021-12-17T10:17:02",
// //                                         "menuList": [
// //                                             {
// //                                                 "id": "2d0bb194-5f0d-11ec-b27a-1c697ac9cfe3",
// //                                                 "name": "用户1-1-1-1",
// //                                                 "remarks": "用户1-1-1-1",
// //                                                 "icon": "setting",
// //                                                 "createdAt": "2021-12-17T15:44:33",
// //                                                 "parentId": "6c0636de-5edf-11ec-b27a-1c697ac9cfe3",
// //                                                 "path": "/menu/good/brand",
// //                                                 "show": true,
// //                                                 "component": "../views/good/Brand",
// //                                                 "updatedAt": "2021-12-17T15:44:33",
// //                                                 "menuList": []
// //                                             },
// //                                             {
// //                                                 "id": "2d0c729f-5f0d-11ec-b27a-1c697ac9cfe3",
// //                                                 "name": "用户1-1-1-3",
// //                                                 "remarks": "用户1-1-1-3",
// //                                                 "icon": "setting",
// //                                                 "createdAt": "2021-12-17T15:44:33",
// //                                                 "parentId": "6c0636de-5edf-11ec-b27a-1c697ac9cfe3",
// //                                                 "path": "/menu/good/brand",
// //                                                 "show": true,
// //                                                 "component": "../views/good/Brand",
// //                                                 "updatedAt": "2021-12-17T15:44:33",
// //                                                 "menuList": []
// //                                             }
// //                                         ]
// //                                     }
// //                                 ]
// //                             }
// //                         ]
// //                     }
// //                 ]
// //             }
// //         ]
// //     },
// //     {
// //         "id": "89b4a5c3-5ede-11ec-b27a-1c697ac9cfe3",
// //         "name": "课程管理",
// //         "remarks": "课程管理菜单",
// //         "icon": "setting",
// //         "createdAt": "2021-12-17T10:10:42",
// //         "parentId": null,
// //         "path": "/menu/course/manage",
// //         "show": true,
// //         "component": "../views/course/Manage",
// //         "updatedAt": "2021-12-17T10:10:42",
// //         "menuList": [
// //             {
// //                 "id": "a6d36f8f-5ede-11ec-b27a-1c697ac9cfe3",
// //                 "name": "课程列表",
// //                 "remarks": "课程列表菜单",
// //                 "icon": "setting",
// //                 "createdAt": "2021-12-17T10:11:31",
// //                 "parentId": "89b4a5c3-5ede-11ec-b27a-1c697ac9cfe3",
// //                 "path": "/menu/course/list",
// //                 "show": true,
// //                 "component": "../views/course/List",
// //                 "updatedAt": "2021-12-17T10:11:31",
// //                 "menuList": []
// //             },
// //             {
// //                 "id": "a6d4c74b-5ede-11ec-b27a-1c697ac9cfe3",
// //                 "name": "课程分类",
// //                 "remarks": "课程分类菜单",
// //                 "icon": "setting",
// //                 "createdAt": "2021-12-17T10:11:31",
// //                 "parentId": "89b4a5c3-5ede-11ec-b27a-1c697ac9cfe3",
// //                 "path": "/menu/course/classify",
// //                 "show": true,
// //                 "component": "../views/course/Classify",
// //                 "updatedAt": "2021-12-17T10:11:31",
// //                 "menuList": [
// //                     {
// //                         "id": "84cb8102-5f14-11ec-b27a-1c697ac9cfe3",
// //                         "name": "课分1",
// //                         "remarks": "课分1",
// //                         "icon": "setting",
// //                         "createdAt": "2021-12-17T16:37:07",
// //                         "parentId": "a6d4c74b-5ede-11ec-b27a-1c697ac9cfe3",
// //                         "path": "/menu/good/brand",
// //                         "show": true,
// //                         "component": "../views/good/Brand",
// //                         "updatedAt": "2021-12-17T16:37:07",
// //                         "menuList": []
// //                     },
// //                     {
// //                         "id": "84cd468f-5f14-11ec-b27a-1c697ac9cfe3",
// //                         "name": "课分3",
// //                         "remarks": "课分3",
// //                         "icon": "setting",
// //                         "createdAt": "2021-12-17T16:37:07",
// //                         "parentId": "a6d4c74b-5ede-11ec-b27a-1c697ac9cfe3",
// //                         "path": "/menu/good/brand",
// //                         "show": true,
// //                         "component": "../views/good/Brand",
// //                         "updatedAt": "2021-12-17T16:37:07",
// //                         "menuList": [
// //                             {
// //                                 "id": "a7fd115e-5f14-11ec-b27a-1c697ac9cfe3",
// //                                 "name": "课分3-1",
// //                                 "remarks": "用户3-1",
// //                                 "icon": "setting",
// //                                 "createdAt": "2021-12-17T16:38:06",
// //                                 "parentId": "84cd468f-5f14-11ec-b27a-1c697ac9cfe3",
// //                                 "path": "/menu/good/brand",
// //                                 "show": true,
// //                                 "component": "../views/good/Brand",
// //                                 "updatedAt": "2021-12-17T16:38:06",
// //                                 "menuList": []
// //                             },
// //                             {
// //                                 "id": "a7fed0e3-5f14-11ec-b27a-1c697ac9cfe3",
// //                                 "name": "课分3-3",
// //                                 "remarks": "用户3-3",
// //                                 "icon": "setting",
// //                                 "createdAt": "2021-12-17T16:38:06",
// //                                 "parentId": "84cd468f-5f14-11ec-b27a-1c697ac9cfe3",
// //                                 "path": "/menu/good/brand",
// //                                 "show": true,
// //                                 "component": "../views/good/Brand",
// //                                 "updatedAt": "2021-12-17T16:38:06",
// //                                 "menuList": [
// //                                     {
// //                                         "id": "ca1c3400-5f14-11ec-b27a-1c697ac9cfe3",
// //                                         "name": "课分3-2-1",
// //                                         "remarks": "课分3-2-1",
// //                                         "icon": "setting",
// //                                         "createdAt": "2021-12-17T16:39:03",
// //                                         "parentId": "a7fed0e3-5f14-11ec-b27a-1c697ac9cfe3",
// //                                         "path": "/menu/good/brand",
// //                                         "show": true,
// //                                         "component": "../views/good/Brand",
// //                                         "updatedAt": "2021-12-17T16:39:03",
// //                                         "menuList": [
// //                                             {
// //                                                 "id": "f10b3f24-5f14-11ec-b27a-1c697ac9cfe3",
// //                                                 "name": "课分3-2-1-1",
// //                                                 "remarks": "课分3-2-1-1",
// //                                                 "icon": "setting",
// //                                                 "createdAt": "2021-12-17T16:40:08",
// //                                                 "parentId": "ca1c3400-5f14-11ec-b27a-1c697ac9cfe3",
// //                                                 "path": "/menu/good/brand",
// //                                                 "show": true,
// //                                                 "component": "../views/good/Brand",
// //                                                 "updatedAt": "2021-12-17T16:40:08",
// //                                                 "menuList": []
// //                                             },
// //                                             {
// //                                                 "id": "f10d0387-5f14-11ec-b27a-1c697ac9cfe3",
// //                                                 "name": "课分3-2-1-3",
// //                                                 "remarks": "课分3-2-1-3",
// //                                                 "icon": "setting",
// //                                                 "createdAt": "2021-12-17T16:40:08",
// //                                                 "parentId": "ca1c3400-5f14-11ec-b27a-1c697ac9cfe3",
// //                                                 "path": "/menu/good/brand",
// //                                                 "show": true,
// //                                                 "component": "../views/good/Brand",
// //                                                 "updatedAt": "2021-12-17T16:40:08",
// //                                                 "menuList": []
// //                                             }
// //                                         ]
// //                                     }
// //                                 ]
// //                             }
// //                         ]
// //                     }
// //                 ]
// //             }
// //         ]
// //     }
// // ]
//
// function checkMenuTree(menuRoutes) {
//     menuRoutes.forEach(function(value,index,menuRoutes){
//         console.log(value)
//         checkMenuTree(value.children)
//     });
// }
//
// // checkMenuTree(generateRoutes([], menuList))

// import LayoutPage from '@/views/layout'  // Layout 是架构组件，不在后台返回，在文件里单独引入

// export function filterAsyncRouter(asyncRouterMap) { // 遍历后台传来的路由字符串，转换为组件对象
//     const accessedRouters = asyncRouterMap.filter(route => {
//         if (route.component) {
//             // if (route.component === 'Layout') { // Layout组件特殊处理
//             //     route.component = LayoutPage
//             // } else {
//             route.component = _import(route.component)
//             // }
//         }
//         if (route.children && route.children.length) {
//             route.children = filterAsyncRouter(route.children)
//         }
//         return true
//     })
//
//     return accessedRouters
// }





